System and method for scalable, high accuracy, sensor and id based audience measurement system based on distributed computing architecture

ABSTRACT

A dynamic television audience measurement system (AMS) and method are disclosed. The system comprises a central level AMS sub-system, a local node level AMS subsystem in communication with the central level AMS sub-system, a plurality of client level AMS sub-systems in communication with the local node level AMS sub-system, and a plurality of display devices, wherein each display device is monitored by a client level AMS sub-system. The central level AMS sub-system receives panel definitions from panel requestors, transmits the panel definitions to the local node level AMS subsystem, and receives a merged viewership report from the local node level AMS subsystem. The local node level AMS sub-system receives panel definitions from the central level AMS sub-system, transmits the panel definitions to the plurality of client level AMS sub-systems, receives viewership reports from each client level AMS sub-systems, and transmits a merged viewership report to the central level AMS sub-system.

REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. patent application Ser. No. 13/474,064 filed on Mar. 17, 2012 and to U.S. Provisional Application Ser. No. 61/486,974, filed on May 17, 2011, entitled “System and Method for High Accuracy Measurement of Ad Consumption and Viewers' Emotional and Cognitive Response,” and to U.S. provisional Application Ser. No. 61/490,677, filed on May 27, 2011, entitled “Method and Apparatus for Mapping Available Data Generating Resources Against Data Collection Requests in an Audience Measurement System” and to U.S. provisional Application Ser. No. 61/491,494, filed on May 31, 2011, entitled “Dynamic Panel Creation for Highly Scalable Audience Measurement Systems,” and U.S. Provisional Application Ser. No. 61/492,429, filed on Jun. 2, 2011, entitled “System and Method for Increasing the Effectiveness of TV/Video Ads,” which are all hereby specifically and entirely incorporated by reference.

BACKGROUND

1. Field of the Invention

The invention is directed to television advertisements. Specifically, the invention is directed to monitoring the effectiveness of television advertisements.

2. Background of the Invention

Existing television (TV) advertisement (ad or commercial) injection and delivery systems and Audience Measurement Systems (AMS) have evolved as an amalgamation of multi-vendor, multi-protocol hardware and software components. These components were not built to work well together. The components communicate with each other over “integration points” without necessarily relaying all the data needed by the AMS. As such, the components do not take into consideration advertisers' demands to receive accurate, reliable, and timely ad viewership reporting data.

In existing TV systems, ads, including audio and/or video and/or interactive enhancements (for example Enhanced TV Binary Interchange Format (EBIF) applications), are injected at several points. Ads can be injected by, for example the national broadcasters (i.e. NBC or ABC), the programming networks (e.g. ESPN), the local programming network affiliates, the cable operators (or equivalent) with centralized ad injection at the head-end, the cable operators with targeted ads with distributed injection over switched digital video infrastructure, cable operators with targeted ads stored in Digital Video Recorders (DVRs) and injected into live or recorded streams, Video on Demand (VOD) operators, or Internet video streaming operators.

To generate accurate ad viewership information for all ad types, a client device based AMS system, which logs events on a client device, has to rely on the accuracy of information it receives from all ad injection points for all ad types. Existing AMS systems perform well when (and only when) program guide scheduling data, broadcast advertisement scheduling data, client device logged event data, and other relevant pieces of information are accurate and completely in synchronization.

However, in real life, there are many exceptions (e.g. sporting events running overtime or breaking news) which cause changes to any one of the abovementioned schedules. Such changes are not propagated through the system in real-time. This shortcoming prevents the AMS from receiving accurate and synchronized information from all relevant sources on time, precluding the AMS from generating accurate ad viewership reports. Furthermore, traditional AMS do not provide information on which ads were actually displayed on the display device (e.g. TV) or if a viewer has actually viewed the ad. Finally, traditional AMS cannot measure actual viewer reaction to ads if the ads have no calls to action (e.g. click to buy, call to buy, click to get coupon, or click to get more information).

For example U.S. Pat. No. 6,983,478 to Grauch et al. discloses a typical, existing AMS. Grauch discloses a system that tracks a viewer's clickstream (i.e. the button presses on the user's remote control) data and attempts to match it with guide scheduling data records and advertisement scheduling data records. Such systems generate a large amount of data that must be sifted through to determine viewership. Furthermore, the data is often inaccurate due to unreported scheduling changes (e.g. a sporting event runs over or a breaking news event occurs), misread or unread clicks (e.g. if a button is pressed but the TV does not receive the command or if a button is pressed but the AMS does not register the pressed button), or other unforeseen events.

In a system similar to the AMS system disclosed by Grauch, will generate, transport, and store billions of records per day. The records will have to be analyzed and compiled into reports which takes enormous amounts of computing power. As such, existing systems relay on small sample sizes (panels) which are setup and updated over very long periods of time (e.g. months or years). Such infrequent updates and small sample sizes (usually in the thousands of viewers) preclude typical AMS from accurately measuring viewership of many types (movies, shows, advertisement spots, infomercials) and units (specific titles) of content. Moreover, for the content that typical AMS do measure, there is a high margin of error.

SUMMARY OF THE INVENTION

The present invention overcomes the problems and disadvantages associated with current strategies and designs and provides new tools and methods of monitoring and enhancing ad viewership.

One embodiment of the invention is directed to a dynamic television audience measurement system (AMS). The system comprises a central level AMS sub-system, a local node level AMS sub-system in communication with the central level AMS sub-system, a plurality of client device level AMS sub-systems in communication with the local node level AMS sub-system, and a plurality of display devices, wherein each display device is monitored by a client level AMS sub-system. The central level AMS sub-system receives panel definitions from panel requestors, transmits the panel definitions to the local node level AMS sub-system, and receives a merged viewership report from the local node level AMS sub-system. The local node level AMS sub-system receives panel definitions from the central level AMS sub-system, transmits the panel definitions to the plurality of client level AMS sub-systems, receives viewership reports from each client level AMS sub-systems, merges the viewership reports into the merged viewership report, and transmits the merged viewership report to the central level AMS sub-system. Each of the plurality of client level AMS sub-systems receives panel definitions from the local node level AMS sub-system, compiles the viewership report based on viewer's actions, and transmits the viewership report to the local node level AMS sub-system.

In the preferred embodiment, the central level AMS sub-system is maintained by a broadcaster, pay TV service operator, broadband TV service operator, or advertisement agency. Preferably, the local node level AMS sub-system is maintained by a cable company, a satellite TV company, a broadband TV company, or an internet service provider. Each client level AMS sub-system is preferably stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.

The panel definitions preferably comprise criteria to be monitored by each client level AMS sub-system. Preferably, the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection. In the preferred embodiment, the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics.

Preferably, the media content comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased. Preferably, the data to be collected is chosen from at least one of remote control button presses, messages and events received from client device, and messages and events received from rendering device. Preferably, the schedule for data collection comprises at least one of start date and time, end date and time, and recurrence of data collection. Preferably, the rate of data collection comprises at least one of reporting frequency, reporting granularity, and format of the reporting data. In a preferred embodiment, the central level AMS sub-system obtains and stores at least one of subscriber information, demographic information, socioeconomic data, national programming schedules, and national advertising data.

Preferably, the system further comprises multiple a local node level AMS subsystems, wherein the central level AMS sub-system determines which local node level AMS sub-systems to transmit the panel definitions to based on the criteria to be monitored and the data stored at the central level AMS sub-system. Preferably the central level AMS sub-system compiles the merged viewership reports from each local node level AMS sub-system. The local node level AMS sub-system preferably determines which of the plurality of plurality of client level AMS sub-systems to transmit the panel definitions to based on the criteria to be monitored and the data stored at the central level AMS sub-system.

Preferably, at least one of a broadcaster subsystem and a service provider subsystem couples an identifier (ID) to at least one of a program or an advertisement. Preferably, the ID is at least one of ISCI, Ad-ID, UMID, ISAN, V-ISAN, ADI, or TID. At least one of the broadcaster subsystem and the service provider sub-system preferably couples metadata to at least one of a program or an advertisement. In the preferred embodiment, the metadata comprises at least one of a start flag or an end flag.

Preferably, each client level AMS sub-system monitors and records events based on the panel definitions. The monitored events are preferably at least one of channel watched, program watched, advertisement watched, remote control button pressed, viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure. Preferably, the events are recorded with the ID of the program or advertisement that is being viewed at the time of the event.

The client level AMS sub-system preferably adjusts the playback of the content based on the monitored events. Preferably, the adjustments to the playback of the content are chosen from changing the volume and turning off the display device.

Another embodiment of the invention is directed to a method of dynamically measuring a television audience with an audience measurement system (AMS). The method comprises the steps of receiving panel definitions from panel requestors at a central level AMS sub-system, transmitting the panel definitions from the central level AMS sub-system to a local node level AMS sub-system, receiving the panel definitions at the local node level AMS sub-system, transmitting the panel definitions from the local node level AMS sub-system to a plurality of client level AMS sub-systems, receiving the panel definitions at each of the client level AMS sub-systems, compiling a viewership report based on a viewer's actions at each of the client level AMS sub-systems, transmitting each viewership report from the client level AMS sub-systems to the local node level AMS sub-system, receiving the viewership reports at the local node level AMS sub-system, merging the viewership reports into a merged viewership report at the local node level AMS sub-system, transmitting the merged viewership report from the local node level AMS sub-system to the central level AMS sub-system, and receiving a merged viewership report at the central level AMS sub-system.

In the preferred embodiment, the central level AMS sub-system is maintained by a broadcaster, pay TV service operator, broadband TV service operator, or advertisement agency. The local node level AMS sub-system is preferably maintained by a cable company, a satellite TV company, a broadband TV company, or an internet service provider. Each client level AMS sub-system is preferably stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.

The panel definitions preferably comprise criteria to be monitored by each client level AMS sub-system. In the preferred embodiment, the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection. Preferably, the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics.

The media content preferably comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased. Preferably, the data to be collected is chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device.

The schedule for data collection preferably comprises at least one of start date and time, end date and time, and recurrence of data collection. The rate of data collection preferably comprises at least one of reporting frequency, reporting granularity, and format of the reporting data. The central level AMS sub-system preferably obtains and stores at least one of subscriber information, demographic information, socioeconomic data, national programming schedules, and national advertising data.

In the preferred embodiment, there are multiple local node level AMS sub-systems, further comprising the central level AMS sub-system determining which local node level AMS sub-systems to transmit the panel definitions to based on the criteria to be monitored and the data stored at the central level AMS sub-system. The method preferably further comprises the step of the central level AMS sub-system compiling the merged viewership reports from each local node level AMS sub-system.

The method preferably further comprises the step of the local node level AMS sub-system determining which of the plurality of plurality of client level AMS sub-systems to transmit the panel definitions to based on the criteria to be monitored and the data stored at the central level AMS sub-system.

The method preferably further comprises the step of at least one of a broadcaster subsystem and a service provider subsystem coupling an identifier (ID) to at least one of a program or an advertisement. Preferably, the ID is at least one of ISCI, Ad-ID, UMID, ISAN, V-ISAN, ADI, or TID. The method preferably further comprises the step of at least one of the broadcaster subsystem and the service provider subsystem coupling metadata to at least one of a program or an advertisement. The metadata preferably comprises at least one of a start flag or an end flag.

Each client level AMS sub-system preferably monitors and records events based on the panel definitions. Preferably, the monitored events are at least one of channel watched, program watched, advertisement watched, remote control button pressed, viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure.

In the preferred embodiment, the events are recorded with the ID of the program or advertisement that is being viewed at the time of the event. The method preferably further comprises the step of the client level AMS sub-system adjusting the playback of the content based on the monitored events. The adjustments to the playback of the content are preferably chosen from changing the volume and turning off the display device.

Another embodiment of the invention is directed to a central level dynamic television audience measurement system (AMS) sub-system. The sub-system comprises a processor, at least one database in communication with the processor, an input output device in communication with the processor, and software executing on the processor. The software causes the central level AMS sub-system to receive panel definitions from panel requestors, transmit the panel definitions to a local node level AMS sub-system, and receive viewership reports from the local node level AMS sub-system.

In the preferred embodiment, the central level AMS sub-system is maintained by a broadcaster, pay TV service operator, broadband TV service operator, advertisement agency. Preferably, the panel definitions comprise criteria to be monitored by client level AMS sub-systems. Preferably, the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection.

The target audience preferably comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics. The media content preferably comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased. The data to be collected is preferably chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device.

Preferably, the schedule for data collection comprises at least one of start date and time, end date and time, and recurrence of data collection. Preferably, the rate of data collection comprises at least one of reporting frequency, reporting granularity, and format of the reporting data. Preferably, the at least one database stores at least one of subscriber information, demographic information, socioeconomic data, national programming schedules, and national advertising data. The software preferably determines which local node level AMS sub-systems to transmit the panel definitions to based on the criteria to be monitored and the data stored in the at least one database.

The software preferably compiles the merged viewership reports from each local node level AMS sub-system. Preferably, at least one of a broadcaster subsystem and a service provider subsystem couples an identifier (ID) to at least one of a program or an advertisement. The ID is preferably, at least one of iSCI, Ad-ID, UMID, ISAN, V-ISAN, ADI, or TID. Preferably, at least one of the broadcaster subsystem and the service provider subsystem couples metadata to at least one of a program or an advertisement. The metadata preferably comprises at least one of a start flag or an end flag.

Another embodiment of the invention is directed to a local node level dynamic television audience measurement system (AMS) sub-system. The Sub-system comprises a processor, at least one database in communication with the processor, an input/output device in communication with the processor, and software executing on the processor. The software causes the local node level AMS sub-system to receive panel definitions from a central level AMS sub-system, transmit the panel definitions to a plurality of client level AMS sub-systems, receive viewership reports from each client level AMS sub-systems, merge the viewership reports into a merged viewership report, and transmit the merged viewership report to the central level AMS sub-system.

Preferably, the local node level AMS sub-system is maintained by a cable company, a satellite TV company, a streaming media company, or an internet service provider. In the preferred embodiment, the panel definitions comprise criteria to be monitored by each client level AMS sub-system. The criteria to be monitored are preferably chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection.

Preferably, the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics. Preferably, the media content comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased. Preferably, the data to be collected is chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device.

In the preferred embodiment, the schedule for data collection comprises at least one of start date and time, end date and time, and recurrence of data collection. The rate of data collection preferably comprises at least one of reporting frequency, reporting granularity, and format of the reporting data. The software preferably determines which of the plurality of plurality of client level AMS sub-systems to transmit the panel definitions to based on at least the criteria to be monitored.

At least one of a broadcaster subsystem and a service provider subsystem preferably couples an identifier (ID) to at least one of a program or an advertisement. The ID is preferably at least one of ISCI, Ad-ID, UMID, ISAN, V-ISAN, ADI, or TID. Preferably, at least one of the broadcaster subsystem and the service provider subsystem couples metadata to at least one of a program or an advertisement. The metadata preferably comprises at least one of a start flag or an end flag.

Another embodiment of the invention is directed to a client level dynamic television audience measurement system (AMS) sub-system. The sub-system comprises a processor, at least one database in communication with the processor, an input/output device in communication with the processor, and software executing on the processor. The software causes the client level AMS sub-systems to receive panel definitions from a local node level AMS sub-system, compile a viewership report based on viewer's actions, and transmit the viewership report to the local node level AMS sub-system.

The client level AMS sub-system is preferably stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device. The panel definitions preferably comprise criteria to be monitored by each client level AMS sub-system.

Preferably, the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection. Preferably, the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics. Preferably, the media content comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased.

The data to be collected is preferably chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device. The schedule for data collection preferably comprises at least one of start date and time, end date and time, and recurrence of data collection. Preferably, the rate of data collection comprises at least one of reporting frequency, reporting granularity, and format of the reporting data.

The sub-system preferably comprises at least one sensor. The at least one sensor is preferably chosen from the group comprising a camera, a moisture sensor, a microphone, a heart rate monitor, and a brainwave monitor. The software preferably monitors and records events based on the panel definitions. Preferably, the monitored events are at least one of channel watched, program watched, advertisement watched, remote control button pressed, viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure. In the preferred embodiment, the events are recorded with an ID for the program or advertisement that is being viewed at the time of the event. The software preferably adjusts the playback of the content based on the monitored events. Preferably, the adjustments to the playback of the content are chosen from changing the volume and turning off a display device.

Other embodiments and advantages of the invention are set forth in part in the description, which follows, and in part, may be obvious from this description, or may be learned from the practice of the invention.

DESCRIPTION OF THE DRAWING

The invention is described in greater detail by way of example only and with reference to the attached drawing, in which: criteria.

FIG. 1 depicts an embodiment of a TV ad injection architecture of the invention.

FIG. 2 depicts an embodiment of an AMS Panel Definition architecture and

FIG. 3 depicts an embodiment of the AMS-C architecture and communication signal and data flow.

FIG. 4 depicts an embodiment of the AMS-L architecture and communication signal and data flow.

FIG. 5 depicts an embodiment of an AMS-A architecture and communication signal and data flow.

FIG. 6 depicts a flow chart of the overall system data and configuration data flow of an embodiment of an AMS.

FIG. 7 depicts an embodiment of dynamic distribution of panel assignments among client devices for multiple video services providers.

FIG. 8 depicts an embodiment of the AMS's ability to collect data from multiple panels overlapping in time.

DESCRIPTION OF THE INVENTION

As embodied and broadly described herein, the disclosures herein provide detailed embodiments of the invention. However, the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. Therefore, there is no intent that specific structural and functional details should be limiting, but rather the intention is that they provide a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention.

A problem in the art capable of being solved by the embodiments of the present invention is measuring TV viewership. It has been surprisingly discovered that by redesigning the TV ad injection and AMS components of a broadcast system and measuring viewers' responses to advertisements precise viewership reporting can be achieved.

The AMS collects data and creates cost-effective, census level accuracy reports. In the preferred embodiment the AMS is comprised of several tiers of distributed computing components residing at different typological network points within the content distribution system to enable cost-effective processing of large amount of collected data. Tier 1 is comprised of AMS- A, Tier 2 of AMS-L, Tier 3 AMS-C. AMS-A is an AMS client application which resides in video playback device, e.g. TV set, set top box, video streaming adapter. AMS-L is a backend server based sub-system which acts as a first collecting and pre-processing point for the data generated by AMS-A components. After data pre-processing is completed, AMS-L sends data to AMS-C. AMS-C is a backend server based sub-system which acts as a last data processing prior to data being archived and exported to ad agencies. Depending on content distribution network topology and scale, locations and total number of AMS-L components would vary. For example, small content distribution system would only have AMS-A and AMS-L components and utilize AMS-C component located outside of that particular content distribution network.

Each AMS-A (client device level) is preferably responsible for receiving configuration messages from the AMS-L and executing the logging, processing, and report of events in accordance with the received configuration messages. Each AMS-A is preferably a client's set top box, TV, computer, tablet, smartphone, streaming media device, or other media playing device.

Each AMS-L (local node level) is preferably responsible for receiving panel definitions, subscriber profile information, and program and ad schedules from the AMS-C, a TV Traffic System, an Electronic Program Guide Server, and/or a Video-on-Demand server. The AMS-L is also preferably responsible for sending configuration messages to each AMS-A and performing upstream bandwidth optimization. The AMS-L is also preferably responsible for receiving reports from each AMS-A, merging panel reports, and sending requested reports to the AMS-C for further merging. Each AMS-L is preferably maintained by a media service provider such as a cable company, a satellite TV company, a streaming media company, or an internet service provider.

The AMS-C (central level) is preferably responsible for receiving panel definitions from ad agencies, subscriber demographics and socioeconomic metadata from source agencies, programming metadata from national broadcasters, and ad schedules from ad agencies or broadcasters. The AMC-C is preferably responsible for merging requested information and mapping the information into available AMS-L subscriber bases. The AMS-C can receive and merge reports from multiple AMS-Ls. An AMS-C is preferably maintained by a media company such as a broadcaster, a cable TV channel, or an internet web-page.

In a preferred embodiment, the system of the invention injects ad identifiers into the audio/video transport stream. An ad identifier can be a proprietary or standardized content identifier, for example ISCI, Ad-ID, UMID, ISAN, V-ISAN, ADI, or TID. Furthermore, the system can inject ad metadata information into the ad. Such information may include an ad start flag and an ad end flag. Preferably, the identifiers and metadata will be coupled to the ad in such a way as to preclude integration points from removing the identifiers and metadata to ensure that the identifiers and metadata propagate with the commercial to the client device.

Preferably, the system will be able to monitor the transport streams on a client device for the identifiers and metadata. The client device will preferably generate and store ad events, including but not limited to ad identifiers, start times, and end times when they are detected. Furthermore, the system can record viewer reactions during and after ad playback by measuring one or more physical characteristics of a viewer. For example the system can measure brainwaves, pupil size and change, temperature, pulse rate and change, perspiration, breathing, blood pressure, body movements, and speech characteristics (e.g. tone and volume). Additionally, the system will generate and transmit AMS-A reports that include the stored ad events.

Preferably, the AMS-A architecture will allow for fewer backend components than traditional AMS and provide substantially error free reporting capability. The system will report which ads were actually decoded by a client device (e.g. set top box, streaming media player, gaming device, or smart TV) and sent out to a display device (e.g. TV).

FIG. 1 depicts an embodiment of a TV ad injection architecture of the invention. Generally, TV content, including some commercials, is generated by programming network 1209. The content can include, for example, TV shows, movies, news broadcast, and sporting events. The content is delivered to a plurality of Multi-System Operators (MSOs) 1214, for example cable, satellite, or broadband video service companies. The MSOs in turn, transmit the content to subscriber's client devices 1218. The client devices can be, for example, set-top boxes, TVs, or internet capable devices. Each client device includes a central processing unit, memory, and software stack comprised of operating system 1223, firmware 1222, middleware 1221, and applications 1220. Components of a software stack generate messages 1219 that are collected and processed by AMS-A module 1200. The content is rendered by the client device for display on a TV 1215 or other display device for viewing by the viewer 1216.

Programming network 1209 preferably has a selection of content assets 1201 for broadcasting and a selection of commercials 1208 for insertion into the content at the appropriate locations (i.e. during commercial breaks in the content). The programming network preferably has an automation system 1202 that schedules content 1205, including deciding which advertising assets 1208 to pair with which content assets 1201. The programming network system 1202 may choose which advertising assets to display based on a national linear ad campaign management system 1207. The chosen content and associated ads are prepared for transmission to the MSOs in a digital compression system 1200. The programming network 1209 injects a national video ad with Ad information 1203 into an encoded video stream for delivery via uplink module 1206 to MSO 1214.

Downlink module 1228 of MSO 1214 receives the encoded video stream at receiver 1229. MSO 1214 has a linear ad insertion system 1233 that identifies available ad spots for local ad insertion. Based on a linear local ad campaign management system 1235 and a selection on available local ad assets 1232, the MSO 1214 splices local ads 1230 into the video stream at appropriate time slots and attaches an Ad ID for the local ads 1231. The video stream with both national and local ads, both having Ad IDs, is sent to Transport Devices/Hybrid fiber-coaxial (HFC) module 1234 for broadcast to client 10 devices 1218.

Client device 1218 receives the encoded video stream 1239 with the national and local ads, including the ad IDs and any additional metadata imbedded in the video stream. Preferably, the client device 1218 has an AMS application (AMS-A) 1200. The AMS-A 1200 receives and decodes ad event information, which can contain the ad identifier and other control information (e.g. ad start flag and ad end flag). The client device 1218 renders the content on display 1215 and the AMS-A 1200 records the event information including what was watched and when it was watched.

Returning to FIG. 1, in a preferred embodiment, the AMS-A 1200 will collect events and messages about content decoded by the client device. In addition, AMS-A will receive video rendering confirmation events and viewer present confirmation events from rendering device 1215. Collected information include who watched the show and what their reactions were to the show and the commercials. Preferably, the display device and/or client device has an array of sensors 1212 to collect biometrical information of the viewers. For example, the sensors may include, but are not limited to: cameras to determine the number of people in the room, the ages of the people in the room, the genders of the people in the room, movements of people in the room, or to monitor changes in pupil sizes; infrared cameras to monitor the temperature of the people in the room; moisture sensors to monitor changes in perspiration of people in the room; microphones to monitor speech or breathing rates; and other sensors to monitor brainwaves, changes in pulse rate, and changes in blood pressure. Additionally, the system may record button presses on the remote control (e.g. if a viewer changed the channel, changed the volume, or fast forwarded through a portion of the content).

With the display device 1215 connected via a unidirectional link with client device 1218, the AMS-A 1200 can collect ad event information and report back during upstream communication sessions. With the display device 1215 connected via a bidirectional link with client device 1218, the AMS-A 1200 can collect ad event information from both the client device 1218 and the display device 1215. Using information from both the client device 1218 and the display device 1215, the AMS-A 1200 may log error free information about ad viewership statistics which can then be passed to the AMS-L 1213 during an upstream communication session.

AMS-L 1213 may be able to pair the records received from client device 1218 with demographic information about the users of client device 1218. Since each client device 1218 has a unique identifier, AMS-L 1213 can obtain information, for example, from the user's billing statements to compile a database of demographic information about the users. Such information may include, but is not limited to, age, location, income, race, religion, gender, family makeup, cable packages purchased, and VOD usage. Preferably, the demographic information as well as any information recorded by the AMS is kept anonymous and not linked to a user's name or address. Based on the demographic information, the system can define panels of viewers 1211 and only record information from certain users within those panels. Client device 1218 sends reports to upstream demodulator 1224 which in turn sends the data to AMS-L 1213 via network management controller 1227. The data includes records which can be identified by set top box ID and Ad ID 1226. AMS-L 1213 sends report data, which includes Ad IDs inside AMS panel reports, to AMS-C 1210. Once the data from each client device are received, the AMS-C 1210 can apply analytic criteria to the results to generate viewership reports for export to advertisers. Additionally, the system can use panels to tell the client devices what information to collect.

FIG. 2 depicts an embodiment of an AMS Panel Definition architecture and criteria. The AMS panels definition 301 are determined by a party that requests a report from the AMS. The AMS may allow a part to specify a number of criteria for the report requested. For example, the requester may want to define a target audience 302. The target audience to be monitored may be based on audience location 307 (e.g. zip code, city, region, province, or DMA), audience demographics characteristics 308 (e.g. gender, age, or race), audience social characteristics 309 (e.g. education or marital status), audience economic characteristics 310 (e.g. employment status, occupation, or income), 5 audience housing characteristics 311 (e.g. number of rooms, value, or mortgage status), audience purchasing characteristics 312 (e.g. purchasing volume, frequency or transaction size), audience proprietary characteristics 313 (i.e. parameters not included in the above listed categories).

The requester may also want to define panel content targeting 303, which specifies which types of content will be monitored by the AMS. For example the requester may define the panel to include all non-advertisement content from all sources 314 (e.g. all linear broadcasted channels, all video-on-demand, all digital video recorder content, all network digital video recorder content, and/or all narrowcast streaming (i.e. internet video)), a specific content source or a combination of content sources 315, all advertisements 316, specific advertisement campaigns 317, and/or specific programs, channels, or content packages 318.

The requester may also want to define the data to be collected 304 (e.g. what messages and level of detail will be monitored and logged by the AMS). For example, the requester can define how often to log events 319 (e.g. every second, every N seconds, or every hit), which messages to log 320 (e.g. advanced advertisement application messages), what remote control key presses to record 321, and/or if specific remote control keys are pressed 322. The requester may define the schedule of the panel 305, including but not limited to start and end times 323, and/or how often to repeat the panel based on time schedules 324 and/or based on the content target definition. Furthermore, the requester may define the reporting characteristics 306, including but not limited to reporting frequency 326, reporting granularity 327, and reporting data format 328.

FIG. 3 depicts an embodiment of the AMS-C architecture and communication signal and data flow. AMS-C panels definition module 421 preferably receives from a client (e.g. ad agencies 404-406) panel definition attributes. Module 421 stores the information in a central panels configuration database 427. The panels merger and exporter module 433 maps the ad agency request to at least one AMS-L 440-442 based on information from a central subscriber information database 428 (which imports subscriber information 422 from, for example, the AMS-Ls 440-442), a central demographics and socioeconomic database 429 (which imports information demographic and socioeconomic data 423 from, for example, ad agencies 412, credit agencies 411, and other demographic providers 410), a national programming database 430 (which imports programming data 424 from, for example, AMS-Ls 440-441 and broadcasters 415-416), and/or a national advertising database 431 (which imports national advertising data 425 from, for example, ad agencies 460 and 417, and broadcasters 418-419). Module 443 generates and sends local panel definitions to applicable AMS-Ls 440-442.

The AMS reports catcher and merger service 420 preferably receives audience measurement reports from AMS-Ls 440-442, merges the reports according to the original panel definition parameters, and stores the merged reports in a central panel reports database 426. The AMS-C can export consolidated reports 432 to ad agencies 404-406 or allow the ad agencies 404-406 to have access to the reports upon request.

AMS-C2L (AMS-C to AMS-L) panel merger and exporter 433 sends panel definition parameters to the AMS-L subsystem. AMS-C2L program database exporter 435 sends filter program metadata to the AMS-L subsystem. AMS-C2L advertising database exporter 436 sends filtered and processed advertiser metadata to the AMS-L. AMS-C subsystem software module inventory 446 collects, processes, archives and sends panel report data to ad agencies.

FIG. 4 depicts an embodiment of the AMS-L architecture and communication signal and data flow. Preferably, a panels definition importer module 512 receives panel definition attributes from the AMS-C module 106 and stores the definition attributes in a local panels configuration database module 523. Client report configurator, scheduler, and bandwidth optimizer module 516 can retrieve panel configuration parameters from module 523 and send configuration messages to appropriate client device models 501-504.

Module 516 can also monitor network upstream and downstream load and can load-balance upstream traffic from reporting client devices 501-504. Client report catcher and database importer module 515 preferably is responsible for receiving reports from client devices 501-504 and storing the reports in report database 521. Report generator module 528 receives set top box (STB) report records from each client device for each panel and can apply analytics criteria using, for example, local demographic information 524 (which can be imported 513 from an AMS-C 106), advertising information 525 (which can be imported 518 from AMS-C 106 or a CATV traffic system 505), and/or programming information 526 (which can be imported 519 from AMS-C 106, a CATV EPG server 506, or a CATV VOD 507). Module 528 stores the newly generated results in panel report database 531. Panel report exporter module 530 obtains the reports from database 531 and can export the reports to AMS-C 106 or allow access to the reports as requested. AMS-L subsystem software module inventory 546 collects, processes, archives and sends panel report data to the AMS-C subsystem. Subscriber information importer 514 imports subscriber information from CATV OSS/BSS 508 and stores this information in local subscriber information database 520. AMS-L2C subscriber information exporter 529 exports subscriber information data to AMS-C 106

FIG. 5 depicts an embodiment of an AMS-A architecture and communication signal and data flow. Set top box (STB) 803 preferably contains AMS-A components module 1200. AMS-A client 1200 may consist of the following components: AMS-L messages receiver module 809, AMS report upload module 810, AMS kogging kevel configuration module 812, AMS reporting schedule configuration module 813, AMS events encoder 814, AMS data compressor 815, AMS data caching module 816, and AMS client kernel 817. AMS-L receive module gets panel configuration message from downstream 801 from the AMS-L subsystem. The client device preferably includes a central processing unit, memory, and software stack comprised of operating system 828, firmware 827, middleware 826, 3rd party applications 823, VOD application 824, and EPG application 825. All these software modules generate events and messages 822 which may consist of the following categories: digital/analog tuning events, video streaming events 818, remote control key pressing events 819, applications events/messages 820, or other events/message 821. Events in category 818 preferably consists of the following sub-category events: first I frame decoded event 805, analog tuning completed event 806, RTSP streaming failure event 807, and other tuning related events 808.

Module 811 analyzes sequences and timing of the received messages in accordance with built-in algorithms to generate accurate and actual events which correspond to the viewer experience on a TV screen. Module 811 stores the generated events in AMS data caching module 816 for transport through AMS client kernel 817 and AMS report upload module 810 to AMS-L module 106. Module 811 preferably collects information from within STB 803 to estimate with negligible margin of error the actual events that took place on a TV set connected to the STP. Such events include, but are not limited to, what was viewed and how a viewer reacted to what was viewed, as described herein.

FIG. 6 depicts a flow chart of the overall system data and configuration data flow of an embodiment of an AMS. At step 601, an advertisement agency, marketing agency, or other entity defines the audience measurement panel using AMS definition parameters. At step 602, an AMS-C panel definition module processes and stores the panel configuration parameters of all clients in a database. At step 603, the panels for all clients are merged using a central subscribers database, a central demographics and socioeconomic database, a national programming database, and/or a national advertisement database.

At step 604, the configuration parameters for the merged panels are sent to local AMS-L systems. At step 605, each AMS-L's local panel definition importer stores the panel's configuration parameters in a local panel configuration database. At step 606, each AMS-L's client report configurator, scheduler, and bandwidth optimizer sends configuration messages to appropriate STBs according to the merged configuration parameters received from the AMS-C. At step 607, each AMS-L's client report configurator, scheduler, and bandwidth optimizer sends reports pulling messages or reporting schedules to the STBs, taking into account upstream and downstream bandwidth constraints.

At step 608, each AMS-L's client report catcher and database importer stores the STB reports in the STB report database. At step 609, each AMS-L's panel report generator generates local reports according to the panel configuration parameters retrieved from the database and stores the compiled local reports in a panel report database. At step 610, each AMS-L's panel report exporter sends the local reports to the AMS-C. At step 611, all local reports from each of the AMS-Ls are merged and stored in a central panel report database. At step 612, the AMS-C's panel report exporter converts the merged reports into an appropriate format and delivers the reports to the panel requesters.

The AMS can be configured to monitor one panel at a time or multiple panels at once. FIG. 7 depicts an embodiment of dynamic distribution of panel assignments among client devices for multiple video services providers 107, 109, and 114. For example, AMS panel definition module 105 of AMS-C 106 can receive requests from multiple ad agencies 100 and 101 for multiple panel requests 102-104. AMS-C 106 can map panel requests to multiple video services providers 107, 109, and 114 via AMS-Ls 108, 110, and 115, respectively. AMS-Ls 108, 110, and 115 generate and send appropriate configuration messages based on the input received from AMS-C 106 to each STB 120-137. The configuration messages may include combinations of outstanding panel requests depending on the request definitions. For example, STB 120 can be configured to collect data to fulfill the needs of Panel 1, while STB 122 can be configured to collect data to fulfill the needs of Panel 1 and Panel 2, while STB 130 can be configured to collect data to fulfill the needs of Panel 1 and Panel 3.

FIG. 8 depicts an embodiment of the AMS' s ability to collect data from multiple panels overlapping in time. In the example shown in FIG. 8, at time T1, the system may collect data specified in Panel 4 from Ad Agency 2, while at time T2, the system may collect data specified in Panel 1 from Ad Agency 1, Panel S from Ad Agency 2, and Panel 2 from Ad Agency 1, and at time T3, the system may collect data specified in Panel 6 from Ad Agency 3 and Panel 3 from Ad Agency 1.

Returning to FIG. 1, in certain embodiments, the display device 1215 can alter the playback of the content based on viewer conditions sensed by the sensors 1212. For example, if a motion detector determines that there is nobody present to watch an ad, the display device 1215 can increase the volume of the advertisement or switch to an advertisement that is more effective to a listener as opposed to a viewer (e.g. a radio commercial) in case the viewer is still in the hearing range. For another example, if a sensor determines that a viewer's breathing or pulse has slowed, possibly indicating that the viewer has fallen asleep, the display device 1215 may turn off and the AMS-A 1200 may stop recording.

While the examples provided herein are for TV viewing systems, the invention is also applicable to other video and audio applications involving an audience, including, but not limited to, video viewing on PCs, tablets, smart phones, game consoles, radio receivers, MP3 players, and other streaming and linear programming devices. Furthermore, the invention is equally applicable to the monitoring of other electronic devices in the environment of an audience member, such as other home appliances.

Although the exemplary environment described herein employs a hard disk database, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs), read only memory (ROM), a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment.

For clarity of explanation, the illustrative system embodiment is presented as comprising individual functional blocks (including functional blocks labeled as a “processor”). The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software. For example the functions of one or more processors presented in FIG. 1 may be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may comprise microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) for storing software performing the operations discussed below, and random access memory (RAM) for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.

Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Networks may include the Internet, one or more Local Area Networks (“LANs”), one or more Metropolitan Area Networks (“MANs”), one or more Wide Area Networks (“WANs”), one or more Intranets, etc. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Other embodiments and uses of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. All references cited herein, including all publications, U.S. and foreign patents and patent applications, are specifically and entirely incorporated by reference. It is intended that the specification and examples be considered exemplary only with the true scope and spirit of the invention indicated by the following claims. Furthermore, the term “comprising of” includes the terms “consisting of” and “consisting essentially of.” 

1. A client level dynamic television audience measurement system (AMS) sub-system, comprising: a processor; at least one database in communication with the processor; an input/output device in communication with the processor; at least one sensor chosen from the group comprising a camera, a moisture sensor, a microphone, a heart rate monitor, and a brainwave monitor, configured to collect biometrical data; and software executing on the processor, wherein the software is configured to: cause the client level AMS sub-system to receive panel definitions from a local node level AMS sub-system, compile a viewership report based on viewer's actions and viewer's reactions to a show and commercials, and transmit the viewership report to the local node level AMS sub-system, monitor and record events based on the panel definitions, wherein the monitored events comprise viewer's actions that include at least one of channel watched, program watched, advertisement watched, remote control button pressed, and viewer's reactions to a show and commercials that include at least one of viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure, and adjust the playback of the content based on the monitored events.
 2. The client level dynamic television AMS system of claim 1, wherein the client level AMS sub-system is stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.
 3. The client level dynamic television AMS sub-system of claim 1, wherein the panel definitions comprise criteria to be monitored by each client level AMS sub-system.
 4. The client level dynamic television AMS sub-system of claim 3, wherein the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection.
 5. The client level dynamic television AMS sub-system of claim 4, wherein the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics.
 6. The client level dynamic television AMS sub-system of claim 4, wherein the media content comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased.
 7. The client level dynamic television AMS sub-system of claim 4, wherein the data to be collected is chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device.
 8. The client level dynamic television AMS sub-system of claim 4, wherein the schedule for data collection comprises at least one of start data and time, end date and time, and recurrence of data collection.
 9. The client level dynamic television AMS sub-system of claim 4, wherein the rate of data collection comprises at least one of reporting frequency, reporting granularity, and format of the reporting data.
 10. A method comprising: causing a client level audience measurement system (AMS) sub-system to receive panel definitions from a local node level AMS sub-system, compile a viewership report based on viewer's actions and viewer's reactions to a show and commercials, and transmit the viewership report to the local node level AMD sub-system; monitoring and recording events based on the panel definitions, wherein the monitored events comprise viewer's actions that include at least one of channel watched, program watched, advertisement watched, remote control button pressed, and viewer's reactions to a show and commercials that include at least one of viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure; and adjusting the playback of the content based on the monitored events.
 11. The method of claim 10, wherein the client level AMS sub-system is stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.
 12. The method of claim 10, wherein the panel definitions comprise criteria to be monitored by each client level AMS sub-system.
 13. The method of claim 12, wherein the criteria to be monitored are chosen from the group comprising target audience, media content, data to be collected, schedule for data collection, and rate of data collection.
 14. The method of claim 13, wherein the target audience comprises at least one of viewer location, viewer demographic characteristics, viewer social characteristics, viewer socioeconomic characteristics, viewer housing characteristics, and viewer purchasing profile characteristics.
 15. The method of claim 13, wherein the media content comprises at least one of the source of the content, the advertisements displayed, the programs displayed, the channels, and the media packages purchased.
 16. The method of claim 13, wherein the data to be collected is chosen from at least one of rate of data collection, remote control button presses, messages and events received from client device, and messages and events received from rendering device.
 17. The method of claim 13, wherein the schedule for data collection comprises at least one of start data and time, end date and time, and recurrence of data collection.
 18. The method of claim 13, wherein the rate of data collection comprises at least one of reporting frequency, reporting granularity, and format of the reporting data.
 19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to: cause a client level audience measurement system (AMS) sub-system to receive panel definitions from a local node level AMS sub-system, compile a viewership report based on viewer's actions and viewer's reactions to a show and commercials, and transmit the viewership report to the local node level AMD sub-system; monitor and record events based on the panel definitions, wherein the monitored events comprise viewer's actions that include at least one of channel watched, program watched, advertisement watched, remote control button pressed, and viewer's reactions to a show and commercials that include at least one of viewer's brainwaves, viewer's body movements, viewer's speech, and changes in viewer's pupil size, temperature, pulse rate, perspiration, breathing, or blood pressure; and adjust the playback of the content based on the monitored events.
 20. The non-transitory computer-readable medium of claim 19, wherein: the client level AMS sub-system is stored on a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device. 